The present invention relates to multi-switch systems and, in particular to the implementation of global ports in such systems.
An Ethernet switch typically boots up without knowledge of which external stations (i.e., MAC addresses) correspond to which of its ports. When the switch receives a frame to an unknown station, it needs to broadcast the frame, and it associates the source address of the frame with the port on which it was received so that, when the switch receives a subsequent frame which indicates that address in the destination field, it knows on which port to forward the frame. In this way, an Ethernet switch learns addresses and “prunes” its broadcast domain accordingly. This can work in a conventional multi-switch architecture as long as, once the learning is done, none of the links go down or is disconnected. That is, if a link does go down in a conventional architecture, it typically becomes inoperable.
An Ethernet frame has a source address and a destination address. The sending computer puts its own address as the source address and puts the target address as the destination address. It used to be that there was a single wire or shared bus, and one sender at a time would broadcast a frame to everybody. All the other computers would then check the frame to determine if it was intended for them by looking at the destination address. Later came the Ethernet hub, and then the Ethernet switch.
An Ethernet switch has the ability not to broadcast which is considered an optimization of Ethernet, but there is always still support provided for “flooding,” i.e., if you don't know where the frame goes, send it everywhere. The way a switch reduces the need for flooding is by “learning.” That is, the switch looks at all the source MAC addresses of the frames that pass through it. When the switch sees a particular source MAC address coming in on a certain port, it maps that MAC address to that port and maintains these mappings in a MAC table or cache. Subsequently, when a frame comes in to the switch with a learned MAC address in the MAC table as its destination, the switch sends the frame out on the port to which that address is currently mapped. This is known as “forwarding.”
The Ethernet spanning tree protocol only allows interconnection of multiple Ethernet switches as a spanning tree and will automatically disable links in other topologies to ensure that there are no loops. Because of the spanning tree protocol, Ethernet guarantees connectivity, but does not guarantee any particular level of performance regardless of how many switches are interconnected.
Link aggregation allows the dividing of traffic over multiple links between switches. But with standard Ethernet this only works between two switches or a switch and an endpoint. That is, the spanning tree protocol would turn off one of these links in a larger network of switches to avoid the associated loop. Therefore, some other approach is required to enable link aggregation in a network of switches which operate as one switch.
Conventional approaches to combining multiple switches have employed only limited static topologies, e.g., stacking rings, in which a failed link renders the whole system inoperable. More robust and flexible approaches are needed.